package Negocio.Fachadas;
import java.util.ArrayList;

import Framework.Fachadas.FachadaPersistenciaInterna;
import Framework.Utilidades.Criterio;
import Framework.Utilidades.CriterioCompuesto;
import Framework.Utilidades.CriterioSimple;

public class FachadaPersistencia {
    
    public static FachadaPersistencia instancia;    
    
    public static synchronized FachadaPersistencia getInstancia() {
        if (instancia == null) {
            FachadaPersistencia instancia = new FachadaPersistencia();
            return instancia;
        }
        else {
            return instancia;
        }
    }

    public ArrayList BuscarCriterio (String clase, Criterio criterios){
        return FachadaPersistenciaInterna.getInstancia().BuscarCriterio(clase, criterios);
    }
    
    public void Guardar (String clase, Object objeto){
        FachadaPersistenciaInterna.getInstancia().Guardar(clase, objeto);
    }
    
    public CriterioSimple getCriterioSimple(String atributo, String operador, Object valor){
        return FachadaPersistenciaInterna.getInstancia().getCriterioSimple(atributo, operador, valor);
    }
    
    public CriterioCompuesto getCriterioCompuesto(CriterioSimple criterioSimple1, String operador, CriterioSimple criterioSimple2){
        return FachadaPersistenciaInterna.getInstancia().getCriterioCompuesto(criterioSimple1, operador, criterioSimple2);
    }    
}